<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>数据类型的转换</title>
    </head>
    <body>
        <script>
            // 其他值 --> 数字
            // 使用Number()函数
            // Number('123');       // 123
            // Number('123.4');     // 123.4
            // Number('123年');     // NaN
            // Number('2e3');       // 2000
            // Number('');          // 0
            // 字符串 --> 数字  纯数字字符串能变为数字，不是纯数字的字符串将转为NaN

            // Number(true);        // 1
            // Number(false);       // 0
            // 布尔值 --> 数字  true变为1，false变为0

            // Number(undefined);   // NaN
            // Number(null);        // 0
            // undefined和null --> 数字  undefined变为NaN null变为0

            // 使用parseInt()函数
            // parseInt()函数的功能是将字符串转为整数
            // parseInt('3.14');            // 3   parseInt()将自动截掉第一个非数字字符之后的所有字符
            // parseInt('3.14是圆周率');     // 3   所有文字都将被截掉
            // parseInt('圆周率是3.14');     // NaN 如果字符串不是以数字开头，则转为NaN
            // parseInt('3.99');            // 3   parseInt()函数不四舍五入

            // 使用parseFloat()函数
            // parseFloat()函数的功能是将字符串转为浮点数
            // parseFloat('3.14');          // 3.14   parseFloat()可以将小数字符串转为数字小数
            // parseFloat('3.14是圆周率');   // 3.14   parseFloat()将自动截掉第一个非数字字符、非小数点之后的所有字符
            // parseFloat('圆周率是3.14')；  // NaN    parseFloat()如果字符串并不是以数字开头，则转为NaN
            // parseFloat('3.99');          // 3.99   不四舍五入

            // 使用String()函数
            // String()函数的功能是将数字转为字符串
            // String(123);                 // '123'
            // String(123.4)                // '123.4'
            // String(2e3);                 // '2000'
            // String(NaN);                 // 'NaN'
            // String(Infinity);            // 'Infinity'
            // String(0xf);                 // '15'
            // 数字-->字符串 变为“长得相同”的字符串。科学计数法和非10进制数字会转为10进制的值。
            // String(true);                // 'true'
            // String(false);               // 'false'
            // 布尔值-->字符串 变为“长得相同”的字符串
            // String(undefined);           // 'undefined'
            // String(null);                // 'null'
            // undefined和null-->字符串 变为“长得相同”的字符串



            // 使用toString()方法
            // 几乎所有值都有toString()方法，功能是将值转为字符串
            // (6).toString()               // '6'
            // var a = 6;
            // a.toString();                // '6'
            // true.toString();             // 'true'
            // NaN.toString();              // 'NaN'

            // 其他值 --> 布尔值
            // 使用Boolean()函数
            // Boolean(123);                // true
            // Boolean(0);                  // false
            // Boolean(NaN);                // false
            // Boolean(Infinity);           // true
            // Boolean(-Infinity);          // true
            // 数字-->布尔值 0和NaN转为false，其他数字都转为true
            // Boolean('');                 // false
            // Boolean('abc');              // true
            // Boolean('false');            // true
            // 字符串 -->布尔值 空字符串变为false，其他都转为true
            // Boolean(undefined);          // false
            // Boolean(null);               // false
            // undefined和null-->布尔值 转为false
        </script>
    </body>
</html>